It is often desirable to take repeated images of the Earth such that each image pixel is located at the exact same location on the Earth's surface. However, it is not possible to collect multiple images from the same exact location with the same exact pointing angle. Resampling solves this problem by interpolating data samples from the original collection grid, which changes from image to image, to a grid that is fixed with respect to the Earth's surface. There are many other applications where resampling is used to determine signal values at desired locations that are different from those at which the data is collected.
Imaging systems collect pixels on a collection grid that has approximately uniform angular spacing in the instrument's coordinate system. In many applications, it is desirable to map these pixels to a uniform geo-centric angular grid, such as latitude-longitude. The function that maps the collection sample grid to the Earth's surface may be nonlinear. Accordingly, a uniform grid on the Earth's surface may map to a non-uniform grid in the instrument's coordinate system, and a uniform grid in the instrument's coordinate system may map to a non-uniform grid on the Earth's surface.
It will be appreciated that downsampling is a special case of resampling. For example, downsampling by a factor of two is a reduced resampling by a factor of two.
Images consist of samples of scene intensities (i.e. pixels). There are many applications in which one needs to calculate the spatial derivative of the scene intensities. Typically this is done by calculating a discrete derivative. The discrete derivative is calculated by subtracting values of adjacent pixels, which effectively provides an approximation of the derivative at points midway between pairs of pixels. It may also be calculated by subtracting values of non-adjacent pixels, providing an even poorer approximation to the derivative at points midway between pairs of pixels.
When the scene intensity changes slowly, there may be many pixels which sample the scene changes. In such a case, a discrete derivative may be a good approximation to the true derivative. When the scene intensity changes rapidly, however, there may only be two or three pixels that can sample the intensity changes. When this occurs the discrete derivative is a very poor approximation to the true derivative. It will be appreciated that rapid intensity changes occur frequently at edges of an object being imaged.
A discrete derivative could be made more accurate by interpolating the data at a high resolution and then calculating adjacent sample differences. However, this significantly increases the computational load on the processing hardware. It also requires a careful design of the interpolator, since interpolating also introduces image quality degradation and subsequent errors.
Discrete derivatives also have one other shortcoming. They can only be calculated at locations midway between pixels. One may calculate the discrete derivative at a pixel location by calculating the differences between the pixels on either side of the pixel of interest, but this introduces a larger error in the value of the derivative. In addition, there are many applications where images are remapped from a collection grid to a more desirable output grid, making it desirable to be able to calculate derivatives at arbitrary locations between pixels.
As will be explained, the present invention takes advantage of the fact that images are often collected in one grid system and then resampled to a more desirable grid system. The present invention uses this resampling to produce highly accurate values of derivatives of scene intensities. As will also be explained, the present invention advantageously produces very accurate derivatives (or slopes) of scene intensities at arbitrary pixel locations.